package cc.xiaolv123.vvvdjToBaidu.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class BaiduwangpanFileVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @JsonProperty("errno")
    private Integer errno;

    @JsonProperty("guid_info")
    private String guid_info;

    @JsonProperty("list")
    private List<BaiduPanFileInfo> list;

    @JsonProperty("request_id")
    private String request_id;

    @JsonProperty("guid")
    private Integer guid;

    @JsonProperty("has_more")
    private Integer hasMore;

    @Data
    public class BaiduPanFileInfo implements Serializable {
        private static final long serialVersionUID = 1L;
        /**
         * 参数名称	类型	描述
         * fs_id	uint64	文件在云端的唯一标识ID
         * path	string	文件的绝对路径
         * server_filename	string	文件名称
         * size	uint	文件大小，单位B
         * server_mtime	uint	文件在服务器修改时间
         * server_ctime	uint	文件在服务器创建时间
         * local_mtime	uint	文件在客户端修改时间
         * local_ctime	uint	文件在客户端创建时间
         * isdir	uint	是否为目录，0 文件、1 目录
         * category	uint	文件类型，1 视频、2 音频、3 图片、4 文档、5 应用、6 其他、7 种子
         * md5	string	云端哈希（非文件真实MD5），只有是文件类型时，该字段才存在
         * dir_empty	int	该目录是否存在子目录，只有请求参数web=1且该条目为目录时，该字段才存在， 0为存在， 1为不存在
         * thumbs	array	只有请求参数web=1且该条目分类为图片时，该字段才存在，包含三个尺寸的缩略图URL
         */

        @JsonProperty("fs_id")
        private Long fsId;

        @JsonProperty("path")
        private String path;

        @JsonProperty("server_filename")
        private String serverFileName;

        @JsonProperty("size")
        private Long size;

        @JsonProperty("server_mtime")
        private Long serverMtime;

        @JsonProperty("server_ctime")
        private Long serverCtime;

        @JsonProperty("local_mtime")
        private Long localMtime;

        @JsonProperty("local_ctime")
        private Long localCtime;

        @JsonProperty("isdir")
        private Integer isdir;

        @JsonProperty("category")
        private Integer category;

        @JsonProperty("md5")
        private String md5;

        @JsonProperty("dir_empty")
        private Integer dirEmpty;

        @JsonProperty("thumbs")
        private List<String> thumbs;

        @JsonProperty("share")
        private Integer share;

        @JsonProperty("oper_id")
        private Long operId;

        @JsonProperty("extent_tinyint1")
        private Integer extent_tinyint1;

        @JsonProperty("height")
        private Integer height;

        @JsonProperty("width")
        private Integer width;

        @JsonProperty("date_taken")
        private Long dateTaken;

        @JsonProperty("dlink")
        private String dlink;

    }

}
